The tremendous success of the Internet has made it desirable to expand the Internet Protocol (IP) to a wide variety of applications including voice and speech communication. The objective is, of course, to use the Internet as a link for transporting voice and speech data. Speech data has been transported across the Internet using IP-based transport layer protocols such as the User Datagram Protocol (UDP) and the Real-time Transport Protocol (RTP). In a typical application, a computer running telephony software converts speech into digital data which is then assembled into IP-based data packets that are suitable for transfer across the Internet. Additional information regarding the UDP and RTP protocols may be found in the following publications which are incorporated herein by reference: Jon Postel, User Datagram Protocol, DARPA RFC 786, August 1980; Henning Schulzrinne et al., RRT:A Transport Protocol For Real-time Applications, IETF RF 1889, IETF Audio/video Transport Working Group, January 1996.
A typical IP-based speech data packet 10 is shown in FIG. 1. The packet 10 is one of a plurality of related packets that form a stream of packets representing a portion of, for example, a voice conversation. The packet 10 is made of a header portion 12 and a payload portion 14. The header 12 may comprise a number of header components including static information 16 such as the source and destination address fields (not shown), and dynamic information 18 such as the IP identification, RTP sequence number, and RTP time stamp fields. For ordinary speech data transported over IP-based protocols, the header 12 may represent up to 70% of the data packet 10, leaving little capacity for the payload 14. This inefficient use of bandwidth would be much too expensive over a cellular link for IP-based transportation to become a viable alternative to circuit switched speech services. Therefore, some compression or reduction of the header 12 is generally required.
The term header compression refers to the art of transparently minimizing the necessary bandwidth for information carried in packet headers on a per hop basis over point-to-point links. The headers are compressed or otherwise reduced at the transmitting side and then reconstructed at the receiving side. Recall that headers generally comprise both static information and dynamic information, i.e., information that changes from one packet to the next. Header compression is usually realized by sending the static information initially. Then, dynamic information is sent by transmitting only the difference, or delta, from the previous header.
One method of implementing header compression is by using a compression technique called Robust Checksum-based Header Compression (ROCCO). This method uses a CRC to verify the correctness of reconstructed headers at the receiving side. In addition to the CRC, the compressed headers may also contain a predefined code field which is used to indicate how the dynamic information fields have changed from the previous packet to the current packet. As mentioned previously, the dynamic information fields include the IP identification, the RTP sequence number, and the RTP time stamp.
However, as long as bandwidth continues to be considered a valuable commodity, there will continue to be a need to conserve more bandwidth, especially over cellular links. Therefore, it is desirable to be able to further reduce the amount of header information transmitted, even where such information has already been compressed by an algorithm such as ROCCO.
The present invention advantageously provides techniques for conserving additional bandwidth by omitting, from the compressed header, information related to the changes in the IP identification, RTP sequence number, and RTP time stamp. Instead, reconstruction of the header at the receiving or decompressor side is performed based on information about these fields as retained in the access technology.